package com.rdgk.newtech.dao;



import com.alibaba.fastjson.JSONObject;

import java.util.List;

/**
 * @author: msun
 * @description: 数据字典Dao层
 */
public interface DataDicDao {
    /**
     * 数据字典类型列表
     */
    List<net.sf.json.JSONObject> listDataDicType();

    /**
     * 新增数据字典类型
     */
    int addDataDicType(JSONObject jsonObject);

    /**
     * 更新数据字典类型
     */
    int updateDataDicType(JSONObject jsonObject);

    /**
     * 删除数据字典类型
     */
    int deleteDataDicType(JSONObject jsonObject);

    /**
     * 列举所有的数据字典列表
     */
    List<JSONObject> listAllDataDic(JSONObject jsonObject);

    /**
     * 统计数据字典中数据总数
     */
    int countDataDic(JSONObject jsonObject);

    /**
     * 列举特定某种类型的所有的数据字典列表
     */
    List<JSONObject> listDataDicByType(JSONObject jsonObject);

    /**
     * 统计某种类型数据字典列表的结果总数
     */
    int countDataDicByType(JSONObject jsonObject);

    /**
     * 搜索数据字典列表项
     */
    List<JSONObject> listDataDicBySearch(JSONObject jsonObject);

    /**
     * 统计搜索数据字典列表的结果总数
     */
    int countDataDicBySearch(JSONObject jsonObject);

    /**
     * 搜索某种类型数据字典列表项
     */
    List<JSONObject> listDataDicBySearchAndType(JSONObject jsonObject);

    /**
     * 统计搜索数据字典列表的结果总数
     */
    int countDataDicBySearchAndType(JSONObject jsonObject);

    /**
     * 新增数据字典
     */
    int addDataDic(JSONObject jsonObject);

    /**
     * 更新数据字典类型
     */
    int updateDataDic(JSONObject jsonObject);

    /**
     * 删除数据字典
     */
    int deleteDataDic(JSONObject jsonObject);
}
